package com.lesama.list;

/*
    List接口的特点： 存储有序，有索引，可以存储重复值
    与索引相关的API：
        public void add(int index, E element): 在指定的索引未知，添加元素
        public boolean remove(int index): 根据索引删除集合中的元素
        public E set(int index, E element): 根据索引修改集合中的元素
        public E get(int index): 返回指定索引处的元素
 */

import java.util.ArrayList;
import java.util.List;

public class ListDemo1 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(123); // 自动装箱
        list.add(321);
        list.add(114);
        System.out.println(list);
        list.remove(Integer.valueOf(123)); // Integer先装箱再按照对象删除
        System.out.println(list);

        System.out.println("---------------------------");
        listMethod();
    }

    private static void listMethod() {
        List<String> list = new ArrayList<String>();
        list.add(0, "我们，如果有一次错过");
        list.add("只想拥抱你在身边的证据");
        System.out.println(list);
        list.add(0, "如果可以，茫茫人海");
        System.out.println(list);
        System.out.println(list.remove("只想拥抱你在身边的证据"));
        System.out.println(list.remove("换你的呼吸"));
        list.set(0, "如果可以，我想和你回到那次相遇");
        System.out.println(list.get(0));
    }
}
